A systems analysis device can be represented in a general way by FIG. 1. The analysis device 1 analyzes the system 2 using gauges 3. Each gauge seeks to obtain a specific piece of information on the state of the system 3. One gauge therefore returns one measurement of the system 2. The result 4 returned by the gauges is transmitted to the analysis device 1. Based on these results, this device can emit recommendations 5 to a destination, for example a user of the system 2.
What is meant by the term "system" is any collection of physical or conceptual objects on which measurements can be performed in order to extract pieces of information from them. The system 2 can be, for example, a data base management system on which an administrator would like to obtain information. The device 1 will then be, for example, a module incorporated into a program for assisting the administrator of the data base. The administrator can, at regular intervals, activate this module in order to know whether everything is proceeding correctly in the data base and its server, or whether it is necessary to undertake a reorganization. Certain gauges 3 will measure, for example, the fragmentation ratio of the tables in the DBMS, others the space available for these tables. Based on the results 4 obtained by these gauges, recommendations 5 for the administrator will be displayed on a screen or written into an assistance file. The recommendation obtained will be, for example, a message requesting that a table be defragmented or that space on a hard disk be deallocated.
In another example, the device 1 can be an automatic diagnostic device, capable of performing a diagnosis on a human body 2. The gauges 3 will then measure, for example, the level of glycemia in the blood, or the blood pressure. Based on the results returned by these gauges, recommendations 5 for the practitioner will be returned by the device.
It can be desirable to have the use of a multi-purpose analysis device which is capable of being adapted to very diverse tasks, and of emitting appropriate recommendations in each situation, while retaining a common interface for the user and therefore standardized usage. In the case in which the device 1 is embodied by means of a computer program, it is also desirable to be able to adapt it while keeping the largest possible part of the code unmodified. In the prior art, this adaptation was possible only by modifying the code of the program of the device 1 and by effecting a recompilation of it. This required possession of a copy of the code and a program capable of compiling it. Moreover, this operation required solid expertise in programming and a considerable amount of time. Thus, it was not within reach of the average user of the device 1. Moreover, generally only limited portions of the code could be re-used.
Even small-scale adaptations are difficult to achieve with the solutions of the prior art. In practice, a data base administrator who wished to have the use of a non-standard gauge to obtain recommendations of a novel type for his DBMS was limited to operating a personalized version of his administration device. The thresholds which trigger the gauges, that is the values of the results 4 based on which a recommendation was emitted, could only be adjusted in the rarest of cases. If certain pieces of information, which could be slow to obtain, were of no importance to the administrator, he generally had no possibility of excluding them.